import 'dart:io';
import 'package:csv/csv.dart';

// 简单的命令行测试程序，用于验证BOM标记去除功能
void main() async {
  print('开始测试CSV文件BOM标记去除功能...');
  
  try {
    // 测试带BOM标记的文件
    final filePath = 'D:\\000\\my-web\\test_words_final.csv';
    final file = File(filePath);
    
    if (!await file.exists()) {
      print('错误: 测试文件不存在: $filePath');
      return;
    }
    
    print('读取文件: $filePath');
    String content = await file.readAsString(encoding: utf8);
    
    // 检查是否包含BOM标记
    bool hasBom = content.startsWith('\uFEFF');
    print('原始文件' + (hasBom ? '包含' : '不包含') + 'BOM标记');
    
    // 去除BOM标记（如果存在）
    if (hasBom) {
      content = content.substring(1);
      print('已去除CSV文件的BOM标记');
    }

    // 解析CSV
    List<List<dynamic>> csvTable = const CsvToListConverter().convert(content);
    
    // 显示解析结果
    print('解析成功，共 ${csvTable.length} 行数据');
    print('表头: ${csvTable[0].join(", ")}');
    
    // 显示数据行
    for (int i = 1; i < csvTable.length; i++) {
      print('第${i}行: ${csvTable[i].join(", ")}');
    }
    
    print('测试完成: BOM标记去除功能正常工作');
  } catch (e) {
    print('测试失败: $e');
  }
}